com.rscja.deviceapi.interfaces

## Interface IFingerprintWithZAZ

- All Known Implementing Classes:
    FingerprintWithZAZ, FingerprintWithZAZ_qcom

      public interface IFingerprintWithZAZ

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `delete(int templateIdStart, int templateIdEnd)` 删除指定编号范围(起始Template编号 ~ 结束Template编号)内全部已注册的 Template
    `boolean` | `downChar(FingerprintWithZAZ.BufferEnum ramBufferId, byte[] templateData, int[] outErrCode)` 下载指纹模板数据到模块指定的RamBuffer
    `boolean` | `downImageData(int imageBlockNumber, byte[] imageData, int[] outErrCode)` 下载指纹图像到模块,每次下载512个数据
    `boolean` | `exists(int templateId)` 检查指定的编号是否已被注册
    `boolean` | `free()` 释放指纹模块 free fingerprint module
    `boolean` | `generate(FingerprintWithZAZ.BufferEnum ramBufferId, int[] outErrCode)` 生成模版
    `boolean` | `getBrokenId(int templateIdStart, int templateIdEnd, int[] outBrokenId)`
    `java.lang.String` | `getDeviceInfo()` 获取模块的设备信息
    `int` | `getEmptyId(int templateIdStart, int templateIdEnd)` 获取指定编号范围内可注册的首个编号
    `boolean` | `getEnrollCount(int templateIdStart, int templateIdEnd, int[] outEnrollCount)`
    `int` | `getImage(int[] outErrCode)` 从采集器采集指纹图像并保存于 ImageBuffer 中
    `int` | `getParam(int type)` 根据指定的参数类型，读取设备参数
    `boolean` | `init()` 初始化指纹模块 Initialize fingerprint module
    `boolean` | `isConnection()` 检查 Target 和 Host 的连接状态
    `boolean` | `isPowerOn()`
    `boolean` | `loadChar(int templateIdStart, FingerprintWithZAZ.BufferEnum ramBufferId, int[] outErrCode)` 读取模块中的指纹并暂存在RamBuffer中
    `boolean` | `match(FingerprintWithZAZ.BufferEnum ramBufferId1, FingerprintWithZAZ.BufferEnum ramBufferId2, int[] outErrCode)` 指定的两个 Ram Buffer 中的 Template 之间进行比对
    `boolean` | `merge(FingerprintWithZAZ.BufferEnum ramBufferId, int number, int[] outErrCode)` 合并模版
    `boolean` | `search(FingerprintWithZAZ.BufferEnum ramBufferId, int templateIdStart, int templateIdEnd, int[] outTemplateID, int[] outUpStatus, int[] outErrCode)`
    `boolean` | `setParam(int type, int value, int[] outErrCode)` 根据指定的参数类型，设置设备参数
    `boolean` | `sledCtrl(boolean on)` 控制采集器背光灯的开/关
    `boolean` | `storeChar(int templateId, FingerprintWithZAZ.BufferEnum ramBufferId, int[] outErrCode)` 将保存于指定 Ram Buffer 中的模板保存于指定编号的模块指纹库中
    `byte[]` | `upChar(FingerprintWithZAZ.BufferEnum ramBufferId, int[] outErrCode)` 将暂存在RamBuffer中的指纹模板上传到主机
    `int` | `upImageData(int imageMode, java.lang.String lpFileName, int[] outErrCode)` 上传指纹图像到外部文件
    `boolean` | `verify(int templateId, FingerprintWithZAZ.BufferEnum buffer, int[] outTemplateID, int[] outUpStatus, int[] outErrCode)`

- - ### Method Detail

    - #### init

          boolean init()

      初始化指纹模块
      Initialize fingerprint module
      Returns:
        true成功，false失败
        true means success, false means failed

    - #### free

          boolean free()

      释放指纹模块
      free fingerprint module
      Returns:
        true成功，false失败
        true means success,false means failed

    - #### isConnection

          boolean isConnection()

      检查 Target 和 Host 的连接状态
      Returns:
        true成功，false失败
        true means success,false means failed

    - #### getImage

          int getImage(int[] outErrCode)

      从采集器采集指纹图像并保存于 ImageBuffer 中
      Parameters:
        `outErrCode` - 返回错误代码
      Returns:
        指纹图片原始数据

    - #### verify

          boolean verify(int templateId,
                         FingerprintWithZAZ.BufferEnum buffer,
                         int[] outTemplateID,
                         int[] outUpStatus,
                         int[] outErrCode)

      Parameters:
        `templateId` - 待比对的 Template 编号
        `buffer` - Ram Buffer编号
        `outTemplateID` - Template 编号
        `outUpStatus` - 智能更新结果 1 :已进行智能更新，0：没有更新
        `outErrCode` - 返回错误代码
      Returns:

    - #### search

          boolean search(FingerprintWithZAZ.BufferEnum ramBufferId,
                         int templateIdStart,
                         int templateIdEnd,
                         int[] outTemplateID,
                         int[] outUpStatus,
                         int[] outErrCode)

      Parameters:
        `ramBufferId` - 待比对的 Template 编号
        `templateIdStart` - 待搜索的起始 Template编号
        `templateIdEnd` - 待搜索的结束 Template编号
        `outUpStatus` - 智能更新结果 1 :已进行智能更新，0：没有更新
        `outErrCode` - 返回错误代码
      Returns:

    - #### match

          boolean match(FingerprintWithZAZ.BufferEnum ramBufferId1,
                        FingerprintWithZAZ.BufferEnum ramBufferId2,
                        int[] outErrCode)

      指定的两个 Ram Buffer 中的 Template 之间进行比对
      Parameters:
        `ramBufferId1` -
        `ramBufferId2` -
        `outErrCode` - 返回错误代码
      Returns:

    - #### merge

          boolean merge(FingerprintWithZAZ.BufferEnum ramBufferId,
                        int number,
                        int[] outErrCode)

      合并模版
      Parameters:
        `ramBufferId` - 模版id
        `number` - 合成个数(2或3)
        `outErrCode` - 返回错误代码
      Returns:

    - #### generate

          boolean generate(FingerprintWithZAZ.BufferEnum ramBufferId,
                           int[] outErrCode)

      生成模版
      Parameters:
        `ramBufferId` - 模版id
        `outErrCode` - 返回错误代码
      Returns:

    - #### getEnrollCount

          boolean getEnrollCount(int templateIdStart,
                                 int templateIdEnd,
                                 int[] outEnrollCount)

      Parameters:
        `templateIdStart` - 起始Template编号
        `templateIdEnd` - 结束Template编号
        `outEnrollCount` - 输出已注册的 Template 个数
      Returns:

    - #### getBrokenId

          boolean getBrokenId(int templateIdStart,
                              int templateIdEnd,
                              int[] outBrokenId)

      Parameters:
        `templateIdStart` - 起始Template编号
        `templateIdEnd` - 结束Template编号
        `outBrokenId` - 破损的Template, outBrokenId[0]:破损Template的个数,outBrokenId[1]:第一个破损Template编号
      Returns:

    - #### exists

          boolean exists(int templateId)

      检查指定的编号是否已被注册
      Parameters:
        `templateId` - 模版编号
      Returns:
        true:已经注册 false:未注册

    - #### getEmptyId

          int getEmptyId(int templateIdStart,
                         int templateIdEnd)

      获取指定编号范围内可注册的首个编号
      Parameters:
        `templateIdStart` - 起始模版编号
        `templateIdEnd` - 结束模版编号
      Returns:
        返回可注册的首个编号

    - #### delete

          boolean delete(int templateIdStart,
                         int templateIdEnd)

      删除指定编号范围(起始Template编号 ~ 结束Template编号)内全部已注册的 Template
      Parameters:
        `templateIdStart` - 起始Template编号
        `templateIdEnd` - 结束Template编号
      Returns:

    - #### loadChar

          boolean loadChar(int templateIdStart,
                           FingerprintWithZAZ.BufferEnum ramBufferId,
                           int[] outErrCode)

      读取模块中的指纹并暂存在RamBuffer中
      Parameters:
        `templateIdStart` - Template编号
        `ramBufferId` - Ram Buffer编号
        `outErrCode` - 返回错误代码
      Returns:

    - #### storeChar

          boolean storeChar(int templateId,
                            FingerprintWithZAZ.BufferEnum ramBufferId,
                            int[] outErrCode)

      将保存于指定 Ram Buffer 中的模板保存于指定编号的模块指纹库中
      Parameters:
        `templateId` - Template编号
        `ramBufferId` - Ram Buffer编号
        `outErrCode` - 返回错误代码
      Returns:

    - #### setParam

          boolean setParam(int type,
                           int value,
                           int[] outErrCode)

      根据指定的参数类型，设置设备参数
      Parameters:
        `type` - 0-8 0:deviceID 设备编号
        1:DupFPCheck 指纹复制检测
        2:Baudrate波特率
        3:AutoLome 自动学习
        4:DupIDCheck 检测ID复制
        5:GenScore 合并模版的等级要求
        6:MatchScore 匹配指纹的等级要求
        7:FPCheckScore 获取图片的等级要求
        8:StdMode 指纹模版格式
        `value` - deviceID 1-255
        DupFPCheck 0:不检查指纹复制;1:检测指纹复制。 默认值1
        Baudrate 1-8 (9600,19200,38400,57600,115200,230400,460800,921600)
        AutoLome 1:更新指纹模版数据块,0:不更新;
        DupIDCheck 1:检测ID复制,0:不检查
        GenScore 0-100,默认值30
        MatchScore 0-100,默认值45
        FPCheckScore 0-100,默认值60
        StdMode 0:保密,1:iso,2:ansi
        `outErrCode` - 返回错误代码
      Returns:

    - #### getParam

          int getParam(int type)

      根据指定的参数类型，读取设备参数
      Parameters:
        `type` - 0-8 0:deviceID 设备编号
        1:DupFPCheck 指纹复制检测
        2:Baudrate波特率
        3:AutoLome 自动学习
        4:DupIDCheck 检测ID复制
        5:GenScore 合并模版的等级要求
        6:MatchScore 匹配指纹的等级要求
        7:FPCheckScore 获取图片的等级要求
        8:StdMode 指纹模版格式
      Returns:

    - #### getDeviceInfo

          java.lang.String getDeviceInfo()

      获取模块的设备信息
      Returns:
        返回模块的设备信息

    - #### upImageData

          int upImageData(int imageMode,
                          java.lang.String lpFileName,
                          int[] outErrCode)

      上传指纹图像到外部文件
      Parameters:
        `imageMode` - 0(完全模式):则发送完整图像 ,1(四分之一模式):发送1/4图像
        `lpFileName` - 文件位置，包括文件名，函数根据该参数生成图像文件
        `outErrCode` - 返回错误代码
      Returns:
        返回生成的文件大小

    - #### downImageData

          boolean downImageData(int imageBlockNumber,
                                byte[] imageData,
                                int[] outErrCode)

      下载指纹图像到模块,每次下载512个数据
      Parameters:
        `imageBlockNumber` - 图像数据块号 (0-116)
        `imageData` - 图像数据 固定一次发512字节
        `outErrCode` - 返回错误代码
      Returns:

    - #### sledCtrl

          boolean sledCtrl(boolean on)

      控制采集器背光灯的开/关
      Parameters:
        `on:` - true:开 , false:关
      Returns:

    - #### upChar

          byte[] upChar(FingerprintWithZAZ.BufferEnum ramBufferId,
                        int[] outErrCode)

      将暂存在RamBuffer中的指纹模板上传到主机
      Parameters:
        `ramBufferId` - Ram Buffer编号
        `outErrCode` - 返回错误代码
      Returns:
        模板数据

    - #### downChar

          boolean downChar(FingerprintWithZAZ.BufferEnum ramBufferId,
                           byte[] templateData,
                           int[] outErrCode)

      下载指纹模板数据到模块指定的RamBuffer
      Parameters:
        `ramBufferId` - Ram Buffer编号
        `templateData` - 模版数据，固定1024长度
        `outErrCode` - 返回错误代码
      Returns:

    - #### isPowerOn

          boolean isPowerOn()